#ifndef htu20_H
#define htu20_H

#define SDA_SET_LOW_LEVEL IO_SDA_HT = 0  /* 数据IO口输出低电平 */
#define SDA_SET_HIGH_LEVEL IO_SDA_HT = 1 /* 数据IO口输出高电平 */

#define SCK_SET_LOW_LEVEL IO_SCK_HT = 0  /* 时钟IO口输出低电平 */
#define SCK_SET_HIGH_LEVEL IO_SCK_HT = 1 /* 时钟IO口输出高电平 */

#define HTU20ADDR 0x80
#define HTU20ACK 0
#define HTU20NACK 1

#define HTU20TEMP 0xF3
#define HTU20HUM 0xF5

#ifdef htu20_Variable
#define htu20_Extern

#else
#define htu20_Extern extern
#endif

htu20_Extern struct
{
    U16 hum;  /* 湿度 * 10 */
    U16 temp; /* 温度 * 10 */
} htu20;

htu20_Extern ram_byte htu20Flg;
#define f_htu20_Err htu20Flg.bit.b0

void IIC_HT_Init(void);
void delay_us(U8 i);
void IIC_HT_Start(void);
void IIC_HT_Stop(void);
U8 IIC_HT_Write_Byte(U8);
void IIC_HT_Ack(void);
void IIC_HT_NAck(void);
U8 IIC_HT_Read_Byte(U8);
void SoftReset(void);
void SET_Resolution(void);
U8 crc_8(U8 *, U8);
void Readhtu20(void);
#endif
